package GUI;

import java.awt.Dimension;
import java.awt.Graphics;
import java.util.List;

import javax.swing.ImageIcon;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;

import Baza.BazaDanych;
import Baza.Konfiguracja;
import Leki.Leki;


public class WyswietlLeki extends JPanel{
	private static final long serialVersionUID = 4860543505698198299L;
	Konfiguracja konfiguracja = new Konfiguracja();
	
	public WyswietlLeki(){
		wypiszLekiPanel();
	}
	
	public JPanel wypiszLekiPanel(){
        final JPanel lekiPanel = new JPanel();        
        JScrollPane listaScrollPane = getLista();
        
        lekiPanel.add(listaScrollPane);
        return lekiPanel;      
	}
	
	private JScrollPane getLista(){
		DefaultTableModel model = new DefaultTableModel();
		model.addColumn("ID");
		//model.addColumn(konfiguracja.getDrugPhotoField());
		model.addColumn(konfiguracja.getDrugNameField());
		model.addColumn(konfiguracja.getDrugCostField());
		model.addColumn(konfiguracja.getDrugValidField());
		model.addColumn(konfiguracja.getDrugTypeField());
		model.addColumn(konfiguracja.getDrugDescriptionField());
		wypiszListe(model);
		
		JTable table = new JTable(model);
		table.setEnabled(false);
		table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        table.doLayout(); 
        
        JScrollPane listaScrollPane = new JScrollPane(table);
        listaScrollPane.setPreferredSize(new Dimension(1024, 200));
        
        return listaScrollPane;
	}
	
	private void wypiszListe(DefaultTableModel model){
		BazaDanych database = new BazaDanych();
		List<Leki> leki = database.selectLeki();
        for(int i=0;i<leki.size();i++){
        	Object[] rowData = {leki.get(i).getidLeku(), /*getPhoto(leki.get(i).getSciezka()),*/ leki.get(i).getnazwaLeku(), leki.get(i).getcena(), leki.get(i).getdataWaznosci(), leki.get(i).getrecepta(), leki.get(i).getOpis() };
        	model.insertRow(i, rowData);
        }
        database.closeConnection();
	}
    
	@SuppressWarnings("unused")
	private static JPanel getPhoto(String sciezka){
		final ImageIcon photo = new ImageIcon(sciezka);
		JPanel photoPane = new JPanel()  
        {  
			private static final long serialVersionUID = -2920124670063867024L;

			protected void paintComponent(Graphics g)  
            {  
                Dimension d = getSize();
                g.drawImage(photo.getImage(), 0, 0, d.width, d.height, null);  
   
                super.paintComponent(g);  
            }  
        }; 
        photoPane.setOpaque( false );  
        photoPane.setPreferredSize(new Dimension(50, 50));
        
        return photoPane;
	}
}
